// Boost.STL2 library
//
//  Copyright Fernando Pelliccioni 2012.
//  Use, modification and distribution is subject to the Boost Software
//  License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
//  http://www.boost.org/LICENSE_1_0.txt)
//
// For more information, see http://www.boost.org/libs/range/
//

#ifndef range_access_backward_HPP__
#define range_access_backward_HPP__

//Note: Backward compatibility with Old-Style STL ( for C++03 containers )

#include <string> //TODO: mmmm
#include "iterator_range.hpp"

//namespace std2 {

namespace boost {
namespace container {

auto all( std::string & c ) -> iterator_range< decltype( c.begin() ) >
{
	return iterator_range< decltype( c.begin() ) >( c.begin(), c.end() );
}

auto all( std::string const& c ) -> iterator_range< decltype( c.begin() ) >
{
	return iterator_range< decltype( c.begin() ) >( c.begin(), c.end() );
}


//template <typename C>
//range<typename C::iterator> all(C c)
//{
//	return range<typename C::iterator>( c.begin(), c.end() );
//}
//
//
//template <typename C>
//range<typename C::const_iterator> const_all(C c)
//{
//	return range<typename C::const_iterator>( c.begin(), c.end() );
//}


} // namespace container {
} // namespace boost {

//} //namespace std2


#endif // range_access_backward_HPP__